iT邦幫忙

2024 iThome 鐵人賽

DAY 19
0
Software Development

數位醫療與雲原生第一次的親密接觸系列 第 19

Day 19 [雲原生 (Cloud Native ) ] IAM ( Identity and Access Management ) Module

  • 分享至 

  • xImage
  •  

在雲原生領域中,IAM (Identity and Access Management) 模組是用來管理用戶身份以及他們對雲端資源訪問權限的關鍵組件。IAM 提供了一套安全機制,確保不同用戶和服務只能在其授權範圍內訪問特定資源,並為企業提供了細緻的權限管理和安全控制。下面會介紹 IAM 在雲原生領域中的核心功能。

IAM 的核心功能

  • 身份管理 (Identity Management)
    IAM 管理著用戶、群組、角色和服務帳戶,並為它們提供唯一的身份識別。這些身份可以是人類用戶(如開發者、管理員)或是雲端中的自動化服務(如應用程式、微服務)。

  • 存取控制 (Access Control)
    IAM 會確保只有授權的用戶或服務可以存取特定的資源。它使用策略(policy)來定義哪些操作(讀、寫、刪除等)被允許或拒絕。

    • 基於角色的存取控制 (RBAC, Role-Based Access Control):根據使用者的角色來分配權限。這是雲原生應用中最常見的權限管理方式,根據不同角色(如開發者、管理員)來分配不同的存取權限。
    • 基於屬性的存取控制 (ABAC, Attribute-Based Access Control):透過使用多種屬性(如登錄時的IP位址、時間等)來動態決定是否授權某個請求。

雲原生環境中的 IAM 角色

在雲原生環境中,IAM Module包含以下幾種:

  1. 雲服務供應商的 IAM
    如 AWS、Azure 和 Google Cloud Platform (GCP) 等雲服務供應商,都有自己原生的 IAM 服務,這些服務允許用戶定義誰可以訪問哪些雲端資源。

  2. Kubernetes 中的 IAM
    在 Kubernetes 中,IAM 主要通過 Role-Based Access Control (RBAC) 來實現。RBAC 為 Kubernetes 集群中的用戶和應用程式分配權限,並確保每個服務或用戶只能執行其授權範圍內的操作。

    • Role:針對某個命名空間內的資源定義操作權限。
    • ClusterRole:定義集群範圍的權限。
    • RoleBinding 和 ClusterRoleBinding:將 Role 或 ClusterRole 綁定到特定用戶或服務帳戶,授予具體的操作權限。

IAM Module的使用場景

  1. 用戶和服務的身份驗證與授權
    在雲原生架構中,無論是人類使用者還是自動化服務,IAM 都負責他們的身份管理並授予他們正確的資源訪問權限。例如,開發者可能只需要對開發環境的部分資源擁有讀寫權限,而自動化部署工具可能需要訪問多個資源以便進行部署。

  2. 微服務之間的授權控制
    微服務之間的互相調用需要基於身份進行驗證。IAM 可以確保每個微服務只能調用它授權的其他服務。這不僅保護了系統內部資源的安全,還提高了應用的可控性和透明度。

在雲原生領域中,IAM 是保障服務安全性、身份驗證和存取控制的核心組件。它不僅管理著人類用戶的訪問權限,還確保微服務之間、應用程序與資源之間的互動都是安全且已授權的。如數位醫療一般注重資安的應用服務也需要妥善地進行權限控管及存取控制,後續會介紹如何將IAM Module導入數位醫療相關服務,會使用開源的IAM Solution來完成,敬請期待。


上一篇
Day 18 [雲原生 ( Cloud Native ) ] 部署HAPI FHIR Server至K8s環境
下一篇
Day 20 [雲原生 (Cloud Native) ] 開源IAM Solution---Keycloak
系列文
數位醫療與雲原生第一次的親密接觸30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言